﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class Admin_panel_Suavanban : System.Web.UI.Page
{
    BieumauDataContext db = new BieumauDataContext();
    private int mavb = 0;
    private string file_path = "";
    private string file_save_name = "";
    private string path_save = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["login_admin"] == null)
        {
            Response.Redirect("Index.aspx");
        }
        if (!IsPostBack)
            {
                mavb = Convert.ToInt32(Request.QueryString["id"].ToString());
                tblVanBan vb = db.tblVanBans.Single(p => p.IDVanBan == mavb);
                txttieudevanban.Text = vb.TieuDe;
                txtnoidungtomtat.Text = vb.TomTat;
                file_path = vb.URL;
                FCK_vanban.Value = vb.NoiDungTomTat;
            }

    }
    /// <summary>
    /// hàm upload file
    /// </summary>
    /// <param name="domain_name"></param>
    /// <param name="save_path"></param>
    /// <param name="file_upload"></param>
    public void hamupload_file(string domain_name, string save_path, FileUpload file_upload)
    {

        //khai báo lấy tên tập tin
        if (file_upload.HasFile)
        {

            string[] validFileTypes = { "pdf", "PDF", "docx", "DOCX", "doc", "DOC", "xls", "pptx", "PPTX", "XLS", "XLSX", "xlsx", "ptt", "PTT" };
            string ext = System.IO.Path.GetExtension(file_upload.PostedFile.FileName);
            bool isValidFile = false;
            for (int i = 0; i < validFileTypes.Length; i++)
            {
                if (ext == "." + validFileTypes[i])
                {
                    isValidFile = true;
                    break;
                }
            }
            if (!isValidFile)
            {
                Label1.ForeColor = System.Drawing.Color.Red;
                Label1.Text = "Sai định dạng.hãy đính kèm file có phần mở rộng như sau:" +
                string.Join(",", validFileTypes);
            }
            else
            {
                string new_random = MaNgauNhien_So(10);
                string file_name = file_upload.FileName;
                file_name = new_random + "_" + file_name;
                file_save_name = file_name;
                save_path += file_name;
                path_save = save_path;
                HttpPostedFile file = file_upload.PostedFile;
                file_upload.SaveAs(save_path);
            }


        }
    }





    /// <summary>
    /// Hàm sau đây sẽ tạo mã ngẫu nhiên chỉ gồm các chữ số
    /// </summary>
    /// <param name="codeCount">do dai chuoi random</param>
    /// <returns></returns>

    public string MaNgauNhien_So(int codeCount)
    {
        string allChar = "0,1,2,3,4,5,6,7,8,9";
        string[] allCharArray = allChar.Split(',');
        string randomCode = "";
        int temp = -1;
        Random rand = new Random();
        for (int i = 0; i < codeCount; i++)
        {
            if (temp != -1)
            {
                rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
            }
            int t = rand.Next(10);
            if (temp != -1 && temp == t)
            {
                return MaNgauNhien_So(codeCount);
            }
            temp = t;
            randomCode += allCharArray[t];
        }
        return randomCode;
    }
 
    protected void btnDangBT_Click(object sender, EventArgs e)
    {
        
            if (FileUpload1.HasFile)
            {
                HttpPostedFile file = FileUpload1.PostedFile;
                if (file.ContentLength < 30000000)
                {

                    string save_path = Server.MapPath("~/userfiles/vanban/");
                    hamupload_file("", save_path, FileUpload1);
                    if (File.Exists(path_save))
                    {

                        int id = Convert.ToInt32(Request.QueryString["id"].ToString());
                        tblVanBan vb = db.tblVanBans.Single(p => p.IDVanBan == id);
                        vb.TieuDe =txttieudevanban.Text;
                        vb.NoiDungTomTat = FCK_vanban.Value;
                        vb.TomTat = txtnoidungtomtat.Text;
                        vb.URL = "userfiles/vanban/" + file_save_name;
                        db.SubmitChanges();
                        Label1.ForeColor = System.Drawing.Color.Green;
                        Label1.Text = "đính kèm tập tin thành công";
                    }
                    else
                    {
                        Label1.ForeColor = System.Drawing.Color.Red;
                        Label1.Text = "không thể đính kèm tập tin,xin thử lại";
                    }
                }
                else
                {
                    Label1.ForeColor = System.Drawing.Color.Red;
                    Label1.Text = "file đính kèm quá lớn,xin chọn lại";
                }


            }
            else
            {
                int idvb = Convert.ToInt32(Request.QueryString["id"].ToString());
                tblVanBan vb = db.tblVanBans.Single(p => p.IDVanBan == idvb);
                vb.TieuDe = txttieudevanban.Text;
                vb.TomTat = txtnoidungtomtat.Text;
                vb.NoiDungTomTat = FCK_vanban.Value;
                db.SubmitChanges();
                Response.Redirect("VanBan.aspx");
            }
        
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect("VanBan.aspx");
    }
}